1. Field of the Invention
The present invention relates generally to application resources (media) and, more particularly, to providing application resources to mobile devices and similar storage- and bandwidth-constrained environments.
2. Description of the Background Art
Today, with the wide availability of increasingly powerful mobile devices (e.g., graphics-enabled cellular telephones), there is much customer interest in mobile-based gaming. Despite that interest, a number of environmental differences exist today between mobile and gaming environments. For anything graphical in nature (which is the natural evolution for mobile gaming), an issue arises as to where, exactly, resources or “media” (e.g., bitmaps, icons, fonts, and the like) may be accessed. In the case of desktop PCs and home gaming consoles (e.g., Sony PlayStation), for example, systems have ready access to largecapacity storage, such as in the form of hard disk and/or CD ROM drives, that can easily supply the required graphical resources. Current mobile devices, on the other hand, do not have access to comparable storage facilities. Further, given that they connect wirelessly, mobile devices have a relatively limited amount of bandwidth available for downloading resources.
Additionally, the mobile environment does not benefit from the consistency found in the non-mobile space. For instance, every TV attached to a PlayStation console (i.e., non-mobile devices) is essentially the same—the resolution and signal are identical. Even in the PC environment, there is very little variation in screen differences. For instance, most PC monitors are full-color. Even though the screen resolution may change from one monitor to another, the aspect ratio remains constant. Thus, from the gaming perspective, PC monitors are essentially the same.
The cohesiveness exhibited by the PC environment has not translated well into the mobile environment. To begin with, significant variation in screen size exists among available mobile devices. Compounding the problem, a multitude of different aspect ratios can be found. For example, some mobile devices have square display screens, while others have rectangular ones. Further, there is a wide range of color capability found among available devices. Some devices are quite restrictive in the amount of color information that they can render. Even if a given mobile device is capable of rendering an image in fabulous color (with respect to the display hardware), current limitations in mobile device storage and communication bandwidth pose a problem as to how one could even deliver large-scale media to the device. At the same time, however, popular gaming platforms, such as PlayStation, owe much of their appeal to ready access to voluminous media.
In the wireless mobile gaming arena, the server suddenly becomes the main storage element for maintaining gaming media resources, as mobile devices tend not to have substantial storage capacity. Given that the server is the main storage element in a wireless environment and mobile devices have such varied capabilities (including not only physical capabilities, but also format compatibility capabilities), there is a need for a solution that supplies rich media to mobile devices so that the games are both consistent and appealing to customers.
It is instructive to briefly review how resources are currently handled for a related area, online gaming. In the case of PC-based online gaming, the basic approach has been to provide a single extensive download (e.g., multiple megabytes), which includes not only the game logic but also all of the resources associated with the game. In that environment, the only thing being communicated to the server is player location within the game so that position information of various characters (e.g., for a multi-arena game) may be shared with other players online. The actual game resources themselves are not being shared. A comparable situation exists for other (i.e., non-PC-based) online gaming environments. For example, using a PlayStation console for online gaming, players share position information, not actual game resources, with the online server.
The foregoing online approach to gaming may be slightly modified by creating different device-specific versions of a game. Then, the user is responsible for downloading the correct version of the game for the user's device. Palm device games are a good example of this. For example, many Palm games exist in color and monochromatic versions. Whether a particular download includes color or monochromatic icons, for example, depends on what version of Palm the download is targeting. Unfortunately, this modification requires the game developer to pre-generate all of the different versions that will be made available for download. Compromise often enters the process with game developers choosing to target the lowest common denominator platform, or target a relatively small set of target platforms.
This single “lump sum” download (or single large disk) approach works in the PC and console environments, given the minor amount of variation from one system to another. Thus, for example, the large download for a given game may include four or five variations of a given sprite (e.g., game character), but the extra overhead required is not particularly noticeable to the user of a PC (which has comparatively more resources available than a mobile device). Here, a single download will often include many resources that are (blindly) copied to the target machine but are not used or needed. Although these unused resources are unused data or resource “deadwood,” they do not pose much of a problem given the substantial amount of local storage available on PC devices. In the mobile/wireless environment, devices are far more constricted in terms of available storage space, thus making the approach impractical.
However, constrained device-side storage capability is not the only reason that the “lump sum” approach is not suitable in the mobile environment. The amount of variation of required resources for targeting all of the available mobile devices is quite substantial when compared to the PC. For example, instead of, say, four or five variations of a given sprite, forty or fifty variations may be required. Further, users are often required to pay for the incremental bandwidth required for downloading games (e.g., byte-based charges), and thus users will not be receptive to paying for a bunch of unused resources (which of course would also need to be stored somewhere on the mobile device's limited storage). Given those constraints, it is not practical, in the mobile environment, to include (i.e., bundle in) that many variations of resources with an application.
What is needed is a more sensible approach to providing resources to applications, including improving the way downloadable games are provided to mobile devices. The present invention fulfills this and other needs.